//
//  NSString+Util.h
//  SmallSecretary1.5
//
//  Created by wangzhi on 14-8-20.
//  Copyright (c) 2014年 pretang. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Util)

/**
 *  从本地化文件（Localizable.strings）中读取字符串
 *
 *  @param key 本地化文件中的Key值
 *
 *  @return 本地化的字符串,如果值为空，则返回Key，如果Key为空，则返回空串
 */
+ (NSString*)localStringForKey:(NSString *)key;


/**
 *  从本地化文件（Localizable.strings）中读取字符串
 *
 *  @param key 本地化文件中的Key值
 *  @param comment 注释
 *
 *  @return 本地化的字符串
 */
+ (NSString*)localStringForKey:(NSString *)key comment:(NSString *)comment;

/**
 *  从本地化文件（table）中读取字符串
 *
 *  @param key 本地化文件中的Key值
 *  @param comment 注释
 *  @param table 本地化文件名
 *
 *  @return 本地化的字符串
 */
+ (NSString*)localStringForKey:(NSString *)key comment:(NSString *)comment table:(NSString *)table;

/**
 *  判断是否正确的手机号
 *  @return YES 是， NO 否
 *  @note 手机号以13， 15，18开头，八个 \d 数字字符
 */
- (BOOL)isPhoneNumber;

- (NSDate *)dateFromeSystemDateStringWithFormat:(NSString *)format;

//是否是有效的数字
- (BOOL)isValidNumber;

- (BOOL)isPureFloat;

- (BOOL)isPureInt;

//是否是公民身份证号
- (BOOL)isValidPersonId;

/**
 * 将NSDate转为时间戳（毫秒）
 * @param date 时间对象
 * @return 时间戳字符串
 ***/
+ (NSString*)timeInterval:(NSDate*)date;

/**
 * 将时间戳（毫秒）解析成formater指定的时间格式
 * @param timeVal 时间戳（毫秒）
 * @param formater 格式对象
 * @return 格式化后的字符串
 ***/
+ (NSString *)dateStringWithInterval:(NSTimeInterval)timeVal format:(NSDateFormatter *)formater;


/**
 * 将时间戳（毫秒）解析成formater指定的时间格式
 * @param timeVal 时间戳（毫秒）
 * @param formatStr 格式字符串
 * @return 格式化后的字符串
 * @note 已定义的格式串有:
 *      kDateStringFormat1 @"EEE, dd MM yyyy HH:mm:ss zzz"
 *      kDateStringFormat2 @"yy年MM月dd日"
 *      kDateStringFormat3 @"MM月dd日"
 *      kDateStringFormat4 @"MM月dd日ahh:mm"
 ***/
+ (NSString *)dateStringWithInterval:(NSTimeInterval)timeVal formatStr:(NSString *)formatStr;

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode;

-(CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size;

-(CGSize)sizeWithFont:(UIFont *)font;

- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode alignment:(NSTextAlignment)alignment;

- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode;

- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font;

- (BOOL)containsSubString:(NSString*)string;

///剪切字符串，用省略号拼接
-(NSString *)cutStringAtIndex:(int)index;

- (NSString *)replaceBlankValueWithString:(NSString *)string;
@end
